autojs之悬浮窗按钮暂停脚本~一种很笨的方法,但是可以实现暂停脚本的功能

您所在的位置:网站首页 开关 on和Auto autojs之悬浮窗按钮暂停脚本~一种很笨的方法,但是可以实现暂停脚本的功能

autojs之悬浮窗按钮暂停脚本~一种很笨的方法,但是可以实现暂停脚本的功能

2024-07-03 18:49| 来源: 网络整理| 查看: 265

一种 很简单很笨很低级的 悬浮窗按钮暂停脚本 的方法

文章目录 先看效果一、悬浮窗二、代码1.悬浮窗设置2.按钮点击3.脚本暂停运行 控制检测函数4.主线程 三、完整代码总结

先看效果

请添加图片描述

如果还满意你所看到的,就可以继续往下看实现了

一、悬浮窗

autojs 里边有个控制台console,也有个悬浮窗floaty。 我刚开始一直没有分清楚这两个,在这里简单说一下我的认识。

console就是控制台,能显示所有的日志信息。 控制台的布局基本是固定的: 在这里插入图片描述

悬浮窗也能实现显示日志信息的功能,不过是通过自己写的方式,而不是直接显示日志。 悬浮窗一般是一片灰色,但是可以自己写布局: 在这里插入图片描述 悬浮窗有window和rawWindow

floaty.rawWindow()与floaty.window()函数不同的是,该悬浮窗不会增加任何额外设施(例如调整大小、位置按钮)(就是上图中那三个突兀的黑圈圈),您可以根据自己需要编写任何布局。

我们这里用的是window,自带移动窗体,关闭脚本的功能。 之后会自己写布局,感兴趣的朋友可以收藏关注一下~

二、代码 1.悬浮窗设置

floaty.window(layout):指定悬浮窗的布局,创建并显示一个悬浮窗,返回一个FloatyWindow对象。 其中layout参数可以是xml布局或者一个View。

var 悬浮窗 = floaty.window( ); 悬浮窗.setPosition(500, 1000) //设置位置(x,y) 悬浮窗.setAdjustEnabled(true) //显示三个按钮 悬浮窗.exitOnClose() //关闭悬浮窗时自动结束脚本运行 2.按钮点击

悬浮窗.id.click(function () { 点击该id的控件后 的操作 }

//指定确定按钮点击时要执行的动作 悬浮窗.console.click(function () { 反状态 = 悬浮窗.console.getText(); //获得id="console"的按钮的文字 if (反状态 == "暂停") { toast("脚本已暂停"); ui.run(function () { 悬浮窗.console.setText("开始"); //设置按钮文本 }); } else { toast("脚本已继续"); ui.run(function () { 悬浮窗.console.setText("暂停"); }); } }); 3.脚本暂停运行 控制检测函数

是通过阻塞来进行脚本暂停的

function kz() { while (1) { 反状态 = 悬浮窗.console.getText(); //log(反状态) if (反状态 == "开始") {//反状态为开始时,脚本要暂停,即被阻塞 toastLog("脚本暂停中"); sleep(2000) //这个只影响主程序,就是你可以在这期间点开始运行,在sleep结束后,主程序会继续运行 } else{//反状态为暂停时,脚本要运行,即跳出死循环 break } } } 4.主线程

个人感觉,检测函数只需要放到 模拟实际操作(如点击、滑动) 的过程中

i = 0 j = 0 while (1) { kz() //其实这个检测只需要在 模拟操作的 过程中添加, sleep(1000) kz() //一般脚本都是模拟人的操作,在这个过程中,点击控件啥的才需要 i = i + 1 kz() //像其他后台分析计算什么的就不太需要了 log(i) kz() sleep(2000) j = j - 1 kz() log(j) kz() } 三、完整代码 var 悬浮窗 = floaty.window( ); 悬浮窗.setPosition(500, 1000) //设置位置(x,y) 悬浮窗.setAdjustEnabled(true) //显示三个按钮 悬浮窗.exitOnClose() //关闭悬浮窗时自动结束脚本运行 //指定确定按钮点击时要执行的动作 悬浮窗.console.click(function () { 反状态 = 悬浮窗.console.getText(); //获得id="console"的按钮的文字 if (反状态 == "暂停") { toast("脚本已暂停"); ui.run(function () { 悬浮窗.console.setText("开始"); //设置按钮文本 }); } else { toast("脚本已继续"); ui.run(function () { 悬浮窗.console.setText("暂停"); }); } }); function kz() { while (1) { 反状态 = 悬浮窗.console.getText(); //log(反状态) if (反状态 == "开始") {//反状态为开始时,脚本要暂停,即被阻塞 toastLog("脚本暂停中"); sleep(2000) //这个只影响主程序,就是你可以在这期间点开始运行,在sleep结束后,主程序会继续运行 } else{//反状态为暂停时,脚本要运行,即跳出死循环 break } } } i = 0 j = 0 while (1) { kz() //其实这个检测只需要在 模拟操作的 过程中添加, sleep(1000) kz() //一般脚本都是模拟人的操作,在这个过程中,点击控件啥的才需要 i = i + 1 kz() //像其他后台分析计算什么的就不太需要了 log(i) kz() sleep(2000) j = j - 1 kz() log(j) kz() } 总结

这个当然又丑,又不高级,算是一个记录吧,至少能实现暂停脚本的功能了,毕竟之前都没想到这种方法。

网上都查不到autojs暂停脚本的方法(可能只是我查不到,如果有现成的还请给我指个路,拜托拜托),只能自己造,即使再垃圾,我这个也算是独一份了,哇咔咔~

之后还会写有更好看界面的悬浮窗,也会写有开始、暂停、继续、停止、打印日志等功能的悬浮窗,如果有更牛的暂停脚本的方法也会继续分享。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3